package VisualOperadores;

import java.sql.SQLException;
import java.util.ArrayList;

import Tela.AcaoPanelGrafo;
import Tela.ItemPGNoh;

public class AcaoPgTabelas extends AcaoPanelGrafo {
	// Rodrigo - Coloca o nome da tabela no grafo
	private String nome = "";

	public void setNomeTabela(String nomeTabela) {
		nome = nomeTabela;

	};

	public String executar(int x, int y) {
		ItemPGNoh noh = new ItemPGNoh(x, y, nome);
		noh.SetSql(this.doSQL());
		getPanelGrafo().addItem(noh); // mudar para colocar o simbolo de
										// Arupamento
		return null;
	}

	public void encerrar(int x, int y) {
		// nada a fazer aqui
	}

	public void mover(int x, int y) {
		// nada a fazer aqui
	}

	public void mudouAcao() {
	}

	public String doSQL() {
		StringBuilder sql = new StringBuilder();
		ArrayList<String> cambi = null;
		try {
			cambi = getPanelGrafo().getObjConexao().retornaColunasTabelas(
					"SELECT * FROM " + this.nome);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		sql.append("SELECT ");
		for (String strCond : cambi) {
			sql.append(strCond + " as " + strCond + "___" + this.nome + ", ");
		}
		String sqlString = sql.toString();
		sqlString = sqlString.substring(0, sqlString.length() - 2) + " FROM "
				+ this.nome;
		return sqlString;
	}
}
